﻿using System;
using System.Collections.Generic;
using System.Text;

namespace TCPSockets.ServerEvents.Args
{
    /// <summary>
    /// Параметры передачи данных
    /// </summary>
    public class DataEventArgs : EventArgs
    {
        /// <summary>
        /// Поле, содержащее клиента
        /// </summary>
        public readonly CTCPClient Client;

        /// <summary>
        /// Данные, полученные от клиента
        /// </summary>
        public byte[] Data { get { return ClientArgs.Data; } }

        /// <summary>
        /// Текстовое сообщение, полученное от клиента
        /// </summary>
        public string Message { get { return ClientArgs.Message; } }

        /// <summary>
        /// Объект, полученный от клиента
        /// </summary>
        //public object Object { get { return ClientArgs.Object; } }

        /// <summary>
        /// Поле, содержащее параметры клиента
        /// </summary>
        public readonly ClientEvents.Args.DataEventArgs ClientArgs;

        /// <summary>
        /// Конструктор по клиенту и параметрам, передаваемым клиентом   
        /// </summary>
        /// <param name="Client">Клиент</param>
        /// <param name="ClientArgs">Параметры клиента</param>
        public DataEventArgs(CTCPClient Client, ClientEvents.Args.DataEventArgs ClientArgs)
        {
            this.Client = Client;
            this.ClientArgs = ClientArgs;   
        }

        public override string ToString()
        {
            return "(" + Client.ToString() + "):" + ClientArgs.ToString();
        }
    }
}
